<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-pragma">{-# OPTIONS_HADDOCK hide #-}</span><span>
</span><span id="line-2"></span><span>
</span><span id="line-3"></span><span class="hs-comment">-----------------------------------------------------------------------------</span><span>
</span><span id="line-4"></span><span class="hs-comment">-- |</span><span>
</span><span id="line-5"></span><span class="hs-comment">-- Module      :  Text.XHtml.internals</span><span>
</span><span id="line-6"></span><span class="hs-comment">-- Copyright   :  (c) Andy Gill, and the Oregon Graduate Institute of</span><span>
</span><span id="line-7"></span><span class="hs-comment">--                Science and Technology, 1999-2001,</span><span>
</span><span id="line-8"></span><span class="hs-comment">--                (c) Bjorn Bringert, 2004-2006</span><span>
</span><span id="line-9"></span><span class="hs-comment">-- License     :  BSD-style (see the file LICENSE)</span><span>
</span><span id="line-10"></span><span class="hs-comment">-- Maintainer  :  Chris Dornan &lt;chris@chrisdornan.com&gt;</span><span>
</span><span id="line-11"></span><span class="hs-comment">-- Stability   :  Stable</span><span>
</span><span id="line-12"></span><span class="hs-comment">-- Portability :  Portable</span><span>
</span><span id="line-13"></span><span class="hs-comment">--</span><span>
</span><span id="line-14"></span><span class="hs-comment">-- Internals of the XHTML combinator library.</span><span>
</span><span id="line-15"></span><span class="hs-comment">-----------------------------------------------------------------------------</span><span>
</span><span id="line-16"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">Text.XHtml.Internals</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-17"></span><span>
</span><span id="line-18"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Data.Char.html#"><span class="hs-identifier">Data.Char</span></a></span><span>
</span><span id="line-19"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="../../base/src/Data.Semigroup.html#"><span class="hs-identifier">Data.Semigroup</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">Sem</span></span><span>
</span><span id="line-20"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="../../base/src/Data.Monoid.html#"><span class="hs-identifier">Data.Monoid</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">Mon</span></span><span>
</span><span id="line-21"></span><span>
</span><span id="line-22"></span><span class="hs-keyword">infixr</span><span> </span><span class="hs-number">2</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#%2B%2B%2B"><span class="hs-operator hs-type">+++</span></a></span><span>  </span><span class="hs-comment">-- combining Html</span><span>
</span><span id="line-23"></span><span class="hs-keyword">infixr</span><span> </span><span class="hs-number">7</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#%3C%3C"><span class="hs-operator hs-type">&lt;&lt;</span></a></span><span>   </span><span class="hs-comment">-- nesting Html</span><span>
</span><span id="line-24"></span><span class="hs-keyword">infixl</span><span> </span><span class="hs-number">8</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#%21"><span class="hs-operator hs-type">!</span></a></span><span>    </span><span class="hs-comment">-- adding optional arguments</span><span>
</span><span id="line-25"></span><span>
</span><span id="line-26"></span><span class="hs-comment">--</span><span>
</span><span id="line-27"></span><span class="hs-comment">-- * Data types</span><span>
</span><span id="line-28"></span><span class="hs-comment">--</span><span>
</span><span id="line-29"></span><span>
</span><span id="line-30"></span><span class="hs-comment">-- | A important property of Html is that all strings inside the</span><span>
</span><span id="line-31"></span><span class="hs-comment">-- structure are already in Html friendly format.</span><span>
</span><span id="line-32"></span><span class="hs-keyword">data</span><span> </span><span id="HtmlElement"><span class="annot"><a href="Text.XHtml.Internals.html#HtmlElement"><span class="hs-identifier hs-var">HtmlElement</span></a></span></span><span>
</span><span id="line-33"></span><span>      </span><span class="hs-glyph">=</span><span> </span><span id="HtmlString"><span class="annot"><a href="Text.XHtml.Internals.html#HtmlString"><span class="hs-identifier hs-var">HtmlString</span></a></span></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-34"></span><span>        </span><span class="hs-comment">-- ^ ..just..plain..normal..text... but using &amp;copy; and &amp;amb;, etc.</span><span>
</span><span id="line-35"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span id="HtmlTag"><span class="annot"><a href="Text.XHtml.Internals.html#HtmlTag"><span class="hs-identifier hs-var">HtmlTag</span></a></span></span><span> </span><span class="hs-special">{</span><span>
</span><span id="line-36"></span><span>              </span><span id="markupTag"><span class="annot"><span class="annottext">HtmlElement -&gt; String
</span><a href="Text.XHtml.Internals.html#markupTag"><span class="hs-identifier hs-var hs-var">markupTag</span></a></span></span><span>      </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-37"></span><span>              </span><span id="markupAttrs"><span class="annot"><span class="annottext">HtmlElement -&gt; [HtmlAttr]
</span><a href="Text.XHtml.Internals.html#markupAttrs"><span class="hs-identifier hs-var hs-var">markupAttrs</span></a></span></span><span>    </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Text.XHtml.Internals.html#HtmlAttr"><span class="hs-identifier hs-type">HtmlAttr</span></a></span><span class="hs-special">]</span><span class="hs-special">,</span><span>
</span><span id="line-38"></span><span>              </span><span id="markupContent"><span class="annot"><span class="annottext">HtmlElement -&gt; Html
</span><a href="Text.XHtml.Internals.html#markupContent"><span class="hs-identifier hs-var hs-var">markupContent</span></a></span></span><span>  </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-type">Html</span></a></span><span>
</span><span id="line-39"></span><span>              </span><span class="hs-special">}</span><span>
</span><span id="line-40"></span><span>        </span><span class="hs-comment">-- ^ tag with internal markup</span><span>
</span><span id="line-41"></span><span>
</span><span id="line-42"></span><span class="hs-comment">-- | Attributes with name and value.</span><span>
</span><span id="line-43"></span><span class="hs-keyword">data</span><span> </span><span id="HtmlAttr"><span class="annot"><a href="Text.XHtml.Internals.html#HtmlAttr"><span class="hs-identifier hs-var">HtmlAttr</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="HtmlAttr"><span class="annot"><a href="Text.XHtml.Internals.html#HtmlAttr"><span class="hs-identifier hs-var">HtmlAttr</span></a></span></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-44"></span><span>
</span><span id="line-45"></span><span>
</span><span id="line-46"></span><span class="annot"><a href="Text.XHtml.Internals.html#htmlAttrPair"><span class="hs-identifier hs-type">htmlAttrPair</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#HtmlAttr"><span class="hs-identifier hs-type">HtmlAttr</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">,</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-47"></span><span id="htmlAttrPair"><span class="annot"><span class="annottext">htmlAttrPair :: HtmlAttr -&gt; (String, String)
</span><a href="Text.XHtml.Internals.html#htmlAttrPair"><span class="hs-identifier hs-var hs-var">htmlAttrPair</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Text.XHtml.Internals.html#HtmlAttr"><span class="hs-identifier hs-type">HtmlAttr</span></a></span><span> </span><span id="local-6989586621679036962"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036962"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621679036961"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036961"><span class="hs-identifier hs-var">v</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036962"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">,</span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036961"><span class="hs-identifier hs-var">v</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-48"></span><span>
</span><span id="line-49"></span><span>
</span><span id="line-50"></span><span class="hs-keyword">newtype</span><span> </span><span id="Html"><span class="annot"><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-var">Html</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="Html"><span class="annot"><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-var">Html</span></a></span></span><span> </span><span class="hs-special">{</span><span> </span><span id="getHtmlElements"><span class="annot"><span class="annottext">Html -&gt; [HtmlElement]
</span><a href="Text.XHtml.Internals.html#getHtmlElements"><span class="hs-identifier hs-var hs-var">getHtmlElements</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Text.XHtml.Internals.html#HtmlElement"><span class="hs-identifier hs-type">HtmlElement</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-51"></span><span>
</span><span id="line-52"></span><span>
</span><span id="line-53"></span><span class="hs-comment">--</span><span>
</span><span id="line-54"></span><span class="hs-comment">-- * Classes</span><span>
</span><span id="line-55"></span><span class="hs-comment">--</span><span>
</span><span id="line-56"></span><span>
</span><span id="line-57"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679036956"><span class="annot"><a href="../../base/src/GHC.Show.html#Show"><span class="hs-identifier hs-type">Show</span></a></span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-type">Html</span></a></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-58"></span><span>      </span><span id="local-6989586621679036952"><span class="annot"><span class="annottext">showsPrec :: Int -&gt; Html -&gt; ShowS
</span><a href="../../base/src/GHC.Show.html#showsPrec"><span class="hs-identifier hs-var hs-var hs-var hs-var">showsPrec</span></a></span></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621679036950"><span class="annot"><span class="annottext">Html
</span><a href="#local-6989586621679036950"><span class="hs-identifier hs-var">html</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
</span><a href="../../base/src/GHC.Show.html#showString"><span class="hs-identifier hs-var">showString</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Html -&gt; String
forall html. HTML html =&gt; html -&gt; String
</span><a href="Text.XHtml.Internals.html#renderHtmlFragment"><span class="hs-identifier hs-var">renderHtmlFragment</span></a></span><span> </span><span class="annot"><span class="annottext">Html
</span><a href="#local-6989586621679036950"><span class="hs-identifier hs-var">html</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-59"></span><span>      </span><span id="local-6989586621679036945"><span class="annot"><span class="annottext">showList :: [Html] -&gt; ShowS
</span><a href="../../base/src/GHC.Show.html#showList"><span class="hs-identifier hs-var hs-var hs-var hs-var">showList</span></a></span></span><span> </span><span id="local-6989586621679036943"><span class="annot"><span class="annottext">[Html]
</span><a href="#local-6989586621679036943"><span class="hs-identifier hs-var">htmls</span></a></span></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(ShowS -&gt; ShowS -&gt; ShowS) -&gt; ShowS -&gt; [ShowS] -&gt; ShowS
forall (t :: * -&gt; *) a b.
Foldable t =&gt;
(a -&gt; b -&gt; b) -&gt; b -&gt; t a -&gt; b
</span><a href="../../base/src/Data.Foldable.html#foldr"><span class="hs-identifier hs-var">foldr</span></a></span><span> </span><span class="annot"><span class="annottext">ShowS -&gt; ShowS -&gt; ShowS
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">(.)</span></a></span><span> </span><span class="annot"><span class="annottext">ShowS
forall a. a -&gt; a
</span><a href="../../base/src/GHC.Base.html#id"><span class="hs-identifier hs-var">id</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(Html -&gt; ShowS) -&gt; [Html] -&gt; [ShowS]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">Html -&gt; ShowS
forall a. Show a =&gt; a -&gt; ShowS
</span><a href="../../base/src/GHC.Show.html#shows"><span class="hs-identifier hs-var">shows</span></a></span><span> </span><span class="annot"><span class="annottext">[Html]
</span><a href="#local-6989586621679036943"><span class="hs-identifier hs-var">htmls</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-60"></span><span>
</span><span id="line-61"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679036934"><span id="local-6989586621679036936"><span class="annot"><a href="../../base/src/GHC.Show.html#Show"><span class="hs-identifier hs-type">Show</span></a></span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#HtmlAttr"><span class="hs-identifier hs-type">HtmlAttr</span></a></span></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-62"></span><span>      </span><span id="local-6989586621679036929"><span class="annot"><span class="annottext">showsPrec :: Int -&gt; HtmlAttr -&gt; ShowS
</span><a href="#local-6989586621679036929"><span class="hs-identifier hs-var hs-var hs-var hs-var">showsPrec</span></a></span></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Text.XHtml.Internals.html#HtmlAttr"><span class="hs-identifier hs-type">HtmlAttr</span></a></span><span> </span><span id="local-6989586621679036928"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036928"><span class="hs-identifier hs-var">str</span></a></span></span><span> </span><span id="local-6989586621679036927"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036927"><span class="hs-identifier hs-var">val</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-63"></span><span>              </span><span class="annot"><span class="annottext">String -&gt; ShowS
</span><a href="../../base/src/GHC.Show.html#showString"><span class="hs-identifier hs-var">showString</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036928"><span class="hs-identifier hs-var">str</span></a></span><span> </span><span class="annot"><span class="annottext">ShowS -&gt; ShowS -&gt; ShowS
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span>
</span><span id="line-64"></span><span>              </span><span class="annot"><span class="annottext">String -&gt; ShowS
</span><a href="../../base/src/GHC.Show.html#showString"><span class="hs-identifier hs-var">showString</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;=&quot;</span></span><span> </span><span class="annot"><span class="annottext">ShowS -&gt; ShowS -&gt; ShowS
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span>
</span><span id="line-65"></span><span>              </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. Show a =&gt; a -&gt; ShowS
</span><a href="../../base/src/GHC.Show.html#shows"><span class="hs-identifier hs-var">shows</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036927"><span class="hs-identifier hs-var">val</span></a></span><span>
</span><span id="line-66"></span><span>
</span><span id="line-67"></span><span class="hs-comment">-- | @since 3000.2.2</span><span>
</span><span id="line-68"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679036922"><span id="local-6989586621679036924"><span class="annot"><a href="../../base/src/GHC.Base.html#Semigroup"><span class="hs-identifier hs-type">Sem.Semigroup</span></a></span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-type">Html</span></a></span></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-69"></span><span>    </span><span id="local-6989586621679036918"><span class="annot"><span class="annottext">&lt;&gt; :: Html -&gt; Html -&gt; Html
</span><a href="../../base/src/GHC.Base.html#%3C%3E"><span class="hs-operator hs-var hs-var hs-var hs-var">(&lt;&gt;)</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Html -&gt; Html -&gt; Html
forall a b. (HTML a, HTML b) =&gt; a -&gt; b -&gt; Html
</span><a href="Text.XHtml.Internals.html#%2B%2B%2B"><span class="hs-operator hs-var">(+++)</span></a></span><span>
</span><span id="line-70"></span><span>
</span><span id="line-71"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679036912"><span class="annot"><a href="../../base/src/GHC.Base.html#Monoid"><span class="hs-identifier hs-type">Mon.Monoid</span></a></span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-type">Html</span></a></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-72"></span><span>    </span><span id="local-6989586621679036910"><span class="annot"><span class="annottext">mempty :: Html
</span><a href="../../base/src/GHC.Base.html#mempty"><span class="hs-identifier hs-var hs-var hs-var hs-var">mempty</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Html
</span><a href="Text.XHtml.Internals.html#noHtml"><span class="hs-identifier hs-var">noHtml</span></a></span><span>
</span><span id="line-73"></span><span>    </span><span id="local-6989586621679036907"><span class="annot"><span class="annottext">mappend :: Html -&gt; Html -&gt; Html
</span><a href="../../base/src/GHC.Base.html#mappend"><span class="hs-identifier hs-var hs-var hs-var hs-var">mappend</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Html -&gt; Html -&gt; Html
forall a. Semigroup a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Base.html#%3C%3E"><span class="hs-operator hs-var">(Sem.&lt;&gt;)</span></a></span><span>
</span><span id="line-74"></span><span>
</span><span id="line-75"></span><span class="hs-comment">-- | HTML is the class of things that can be validly put</span><span>
</span><span id="line-76"></span><span class="hs-comment">-- inside an HTML tag. So this can be one or more 'Html' elements,</span><span>
</span><span id="line-77"></span><span class="hs-comment">-- or a 'String', for example.</span><span>
</span><span id="line-78"></span><span class="hs-keyword">class</span><span> </span><span id="HTML"><span class="annot"><a href="Text.XHtml.Internals.html#HTML"><span class="hs-identifier hs-var">HTML</span></a></span></span><span> </span><span id="local-6989586621679037063"><span class="annot"><a href="#local-6989586621679037063"><span class="hs-identifier hs-type">a</span></a></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-79"></span><span>      </span><span id="toHtml"><span class="annot"><a href="Text.XHtml.Internals.html#toHtml"><span class="hs-identifier hs-type">toHtml</span></a></span></span><span>     </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="#local-6989586621679037063"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-type">Html</span></a></span><span>
</span><span id="line-80"></span><span>      </span><span id="toHtmlFromList"><span class="annot"><a href="Text.XHtml.Internals.html#toHtmlFromList"><span class="hs-identifier hs-type">toHtmlFromList</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="#local-6989586621679037063"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-type">Html</span></a></span><span>
</span><span id="line-81"></span><span>
</span><span id="line-82"></span><span>      </span><span id="local-6989586621679036903"><span class="annot"><a href="Text.XHtml.Internals.html#toHtmlFromList"><span class="hs-identifier hs-var hs-var">toHtmlFromList</span></a></span><span> </span><span id="local-6989586621679036900"><span class="annot"><span class="annottext">[a]
</span><a href="#local-6989586621679036900"><span class="hs-identifier hs-var">xs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[HtmlElement] -&gt; Html
</span><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-var">Html</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[[HtmlElement]] -&gt; [HtmlElement]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[HtmlElement]
</span><a href="#local-6989586621679036898"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-type">Html</span></a></span><span> </span><span id="local-6989586621679036898"><span class="annot"><span class="annottext">[HtmlElement]
</span><a href="#local-6989586621679036898"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">(a -&gt; Html) -&gt; [a] -&gt; [Html]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; Html
forall a. HTML a =&gt; a -&gt; Html
</span><a href="Text.XHtml.Internals.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a></span><span> </span><span class="annot"><span class="annottext">[a]
</span><a href="#local-6989586621679036900"><span class="hs-identifier hs-var">xs</span></a></span><span class="hs-special">]</span><span class="hs-special">)</span></span><span>
</span><span id="line-83"></span><span>
</span><span id="line-84"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679036895"><span class="annot"><a href="Text.XHtml.Internals.html#HTML"><span class="hs-identifier hs-type">HTML</span></a></span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-type">Html</span></a></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-85"></span><span>      </span><span id="local-6989586621679036893"><span class="annot"><span class="annottext">toHtml :: Html -&gt; Html
</span><a href="#local-6989586621679036893"><span class="hs-identifier hs-var hs-var hs-var hs-var">toHtml</span></a></span></span><span> </span><span id="local-6989586621679036892"><span class="annot"><span class="annottext">Html
</span><a href="#local-6989586621679036892"><span class="hs-identifier hs-var">a</span></a></span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Html
</span><a href="#local-6989586621679036892"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-86"></span><span>
</span><span id="line-87"></span><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#HTML"><span class="hs-identifier hs-type">HTML</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Char</span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-88"></span><span>      </span><span id="local-6989586621679036886"><span class="annot"><span class="annottext">toHtml :: Char -&gt; Html
</span><a href="#local-6989586621679036886"><span class="hs-identifier hs-var hs-var hs-var hs-var">toHtml</span></a></span></span><span>       </span><span id="local-6989586621679036885"><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679036885"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Html
forall a. HTML a =&gt; a -&gt; Html
</span><a href="Text.XHtml.Internals.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679036885"><span class="hs-identifier hs-var">a</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-89"></span><span>      </span><span id="local-6989586621679036884"><span class="annot"><span class="annottext">toHtmlFromList :: String -&gt; Html
</span><a href="#local-6989586621679036884"><span class="hs-identifier hs-var hs-var hs-var hs-var">toHtmlFromList</span></a></span></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[HtmlElement] -&gt; Html
</span><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-var">Html</span></a></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-90"></span><span>      </span><span class="annot"><a href="Text.XHtml.Internals.html#toHtmlFromList"><span class="hs-identifier hs-var">toHtmlFromList</span></a></span><span> </span><span id="local-6989586621679036883"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036883"><span class="hs-identifier hs-var">str</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[HtmlElement] -&gt; Html
</span><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-var">Html</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">String -&gt; HtmlElement
</span><a href="Text.XHtml.Internals.html#HtmlString"><span class="hs-identifier hs-var">HtmlString</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ShowS
</span><a href="Text.XHtml.Internals.html#stringToHtmlString"><span class="hs-identifier hs-var">stringToHtmlString</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036883"><span class="hs-identifier hs-var">str</span></a></span><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><span id="line-91"></span><span>
</span><span id="line-92"></span><span id="local-6989586621679037060"><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679036879"><span class="hs-special">(</span><span class="annot"><a href="Text.XHtml.Internals.html#HTML"><span class="hs-identifier hs-type">HTML</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679037060"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#HTML"><span class="hs-identifier hs-type">HTML</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><a href="#local-6989586621679037060"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">]</span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-93"></span><span>      </span><span id="local-6989586621679036877"><span class="annot"><span class="annottext">toHtml :: [a] -&gt; Html
</span><a href="#local-6989586621679036877"><span class="hs-identifier hs-var hs-var hs-var hs-var">toHtml</span></a></span></span><span> </span><span id="local-6989586621679036876"><span class="annot"><span class="annottext">[a]
</span><a href="#local-6989586621679036876"><span class="hs-identifier hs-var">xs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[a] -&gt; Html
forall a. HTML a =&gt; [a] -&gt; Html
</span><a href="Text.XHtml.Internals.html#toHtmlFromList"><span class="hs-identifier hs-var">toHtmlFromList</span></a></span><span> </span><span class="annot"><span class="annottext">[a]
</span><a href="#local-6989586621679036876"><span class="hs-identifier hs-var">xs</span></a></span></span><span>
</span><span id="line-94"></span><span>
</span><span id="line-95"></span><span id="local-6989586621679037059"><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679036873"><span class="annot"><a href="Text.XHtml.Internals.html#HTML"><span class="hs-identifier hs-type">HTML</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679037059"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#HTML"><span class="hs-identifier hs-type">HTML</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679037059"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-96"></span><span>      </span><span id="local-6989586621679036871"><span class="annot"><span class="annottext">toHtml :: Maybe a -&gt; Html
</span><a href="#local-6989586621679036871"><span class="hs-identifier hs-var hs-var hs-var hs-var">toHtml</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Html -&gt; (a -&gt; Html) -&gt; Maybe a -&gt; Html
forall b a. b -&gt; (a -&gt; b) -&gt; Maybe a -&gt; b
</span><a href="../../base/src/Data.Maybe.html#maybe"><span class="hs-identifier hs-var">maybe</span></a></span><span> </span><span class="annot"><span class="annottext">Html
</span><a href="Text.XHtml.Internals.html#noHtml"><span class="hs-identifier hs-var">noHtml</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; Html
forall a. HTML a =&gt; a -&gt; Html
</span><a href="Text.XHtml.Internals.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a></span></span><span>
</span><span id="line-97"></span><span>
</span><span id="line-98"></span><span class="hs-keyword">class</span><span> </span><span id="ADDATTRS"><span class="annot"><a href="Text.XHtml.Internals.html#ADDATTRS"><span class="hs-identifier hs-var">ADDATTRS</span></a></span></span><span> </span><span id="local-6989586621679037053"><span class="annot"><a href="#local-6989586621679037053"><span class="hs-identifier hs-type">a</span></a></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-99"></span><span>      </span><span id="%21"><span class="annot"><a href="Text.XHtml.Internals.html#%21"><span class="hs-operator hs-type">(!)</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="#local-6989586621679037053"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Text.XHtml.Internals.html#HtmlAttr"><span class="hs-identifier hs-type">HtmlAttr</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679037053"><span class="hs-identifier hs-type">a</span></a></span><span>
</span><span id="line-100"></span><span>
</span><span id="line-101"></span><span class="hs-comment">-- | CHANGEATTRS is a more expressive alternative to ADDATTRS</span><span>
</span><span id="line-102"></span><span class="hs-keyword">class</span><span> </span><span id="CHANGEATTRS"><span class="annot"><a href="Text.XHtml.Internals.html#CHANGEATTRS"><span class="hs-identifier hs-var">CHANGEATTRS</span></a></span></span><span> </span><span id="local-6989586621679037047"><span class="annot"><a href="#local-6989586621679037047"><span class="hs-identifier hs-type">a</span></a></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-103"></span><span>      </span><span id="changeAttrs"><span class="annot"><a href="Text.XHtml.Internals.html#changeAttrs"><span class="hs-identifier hs-type">changeAttrs</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="#local-6989586621679037047"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="hs-special">[</span><span class="annot"><a href="Text.XHtml.Internals.html#HtmlAttr"><span class="hs-identifier hs-type">HtmlAttr</span></a></span><span class="hs-special">]</span><span class="hs-glyph">-&gt;</span><span class="hs-special">[</span><span class="annot"><a href="Text.XHtml.Internals.html#HtmlAttr"><span class="hs-identifier hs-type">HtmlAttr</span></a></span><span class="hs-special">]</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679037047"><span class="hs-identifier hs-type">a</span></a></span><span>
</span><span id="line-104"></span><span>
</span><span id="line-105"></span><span id="local-6989586621679037051"><span id="local-6989586621679037052"><span class="hs-keyword">instance</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Text.XHtml.Internals.html#ADDATTRS"><span class="hs-identifier hs-type">ADDATTRS</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679037052"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#ADDATTRS"><span class="hs-identifier hs-type">ADDATTRS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679037051"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679037052"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-106"></span><span>      </span><span id="local-6989586621679036863"><span class="annot"><span class="annottext">a -&gt; b
</span><a href="#local-6989586621679036863"><span class="hs-identifier hs-var">fn</span></a></span></span><span> </span><span id="local-6989586621679036862"><span class="annot"><span class="annottext">! :: (a -&gt; b) -&gt; [HtmlAttr] -&gt; a -&gt; b
</span><a href="#local-6989586621679036862"><span class="hs-operator hs-var hs-var hs-var hs-var">!</span></a></span></span><span> </span><span id="local-6989586621679036861"><span class="annot"><span class="annottext">[HtmlAttr]
</span><a href="#local-6989586621679036861"><span class="hs-identifier hs-var">attr</span></a></span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="hs-glyph">\</span><span> </span><span id="local-6989586621679036860"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679036860"><span class="hs-identifier hs-var">arg</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">a -&gt; b
</span><a href="#local-6989586621679036863"><span class="hs-identifier hs-var">fn</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679036860"><span class="hs-identifier hs-var">arg</span></a></span><span> </span><span class="annot"><span class="annottext">b -&gt; [HtmlAttr] -&gt; b
forall a. ADDATTRS a =&gt; a -&gt; [HtmlAttr] -&gt; a
</span><a href="Text.XHtml.Internals.html#%21"><span class="hs-operator hs-var">!</span></a></span><span> </span><span class="annot"><span class="annottext">[HtmlAttr]
</span><a href="#local-6989586621679036861"><span class="hs-identifier hs-var">attr</span></a></span></span></span><span>
</span><span id="line-107"></span><span>
</span><span id="line-108"></span><span id="local-6989586621679037045"><span id="local-6989586621679037046"><span class="hs-keyword">instance</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Text.XHtml.Internals.html#CHANGEATTRS"><span class="hs-identifier hs-type">CHANGEATTRS</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679037046"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#CHANGEATTRS"><span class="hs-identifier hs-type">CHANGEATTRS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679037045"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679037046"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-109"></span><span>      </span><span id="local-6989586621679036854"><span class="annot"><span class="annottext">changeAttrs :: (a -&gt; b) -&gt; ([HtmlAttr] -&gt; [HtmlAttr]) -&gt; a -&gt; b
</span><a href="#local-6989586621679036854"><span class="hs-identifier hs-var hs-var hs-var hs-var">changeAttrs</span></a></span></span><span> </span><span id="local-6989586621679036853"><span class="annot"><span class="annottext">a -&gt; b
</span><a href="#local-6989586621679036853"><span class="hs-identifier hs-var">fn</span></a></span></span><span> </span><span id="local-6989586621679036852"><span class="annot"><span class="annottext">[HtmlAttr] -&gt; [HtmlAttr]
</span><a href="#local-6989586621679036852"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-glyph">\</span><span> </span><span id="local-6989586621679036851"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679036851"><span class="hs-identifier hs-var">arg</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">b -&gt; ([HtmlAttr] -&gt; [HtmlAttr]) -&gt; b
forall a. CHANGEATTRS a =&gt; a -&gt; ([HtmlAttr] -&gt; [HtmlAttr]) -&gt; a
</span><a href="Text.XHtml.Internals.html#changeAttrs"><span class="hs-identifier hs-var">changeAttrs</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a -&gt; b
</span><a href="#local-6989586621679036853"><span class="hs-identifier hs-var">fn</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679036851"><span class="hs-identifier hs-var">arg</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">[HtmlAttr] -&gt; [HtmlAttr]
</span><a href="#local-6989586621679036852"><span class="hs-identifier hs-var">f</span></a></span></span></span><span>
</span><span id="line-110"></span><span>
</span><span id="line-111"></span><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#ADDATTRS"><span class="hs-identifier hs-type">ADDATTRS</span></a></span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-type">Html</span></a></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-112"></span><span>      </span><span class="hs-special">(</span><span class="annot"><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-type">Html</span></a></span><span> </span><span id="local-6989586621679036848"><span class="annot"><span class="annottext">[HtmlElement]
</span><a href="#local-6989586621679036848"><span class="hs-identifier hs-var">htmls</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679036847"><span class="annot"><span class="annottext">! :: Html -&gt; [HtmlAttr] -&gt; Html
</span><a href="#local-6989586621679036847"><span class="hs-operator hs-var hs-var hs-var hs-var">!</span></a></span></span><span> </span><span id="local-6989586621679036846"><span class="annot"><span class="annottext">[HtmlAttr]
</span><a href="#local-6989586621679036846"><span class="hs-identifier hs-var">attr</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[HtmlElement] -&gt; Html
</span><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-var">Html</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(HtmlElement -&gt; HtmlElement) -&gt; [HtmlElement] -&gt; [HtmlElement]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">HtmlElement -&gt; HtmlElement
</span><a href="#local-6989586621679036845"><span class="hs-identifier hs-var">addAttrs</span></a></span><span> </span><span class="annot"><span class="annottext">[HtmlElement]
</span><a href="#local-6989586621679036848"><span class="hs-identifier hs-var">htmls</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-113"></span><span>        </span><span class="hs-keyword">where</span><span>
</span><span id="line-114"></span><span>              </span><span id="local-6989586621679036845"><span class="annot"><span class="annottext">addAttrs :: HtmlElement -&gt; HtmlElement
</span><a href="#local-6989586621679036845"><span class="hs-identifier hs-var hs-var">addAttrs</span></a></span></span><span> </span><span class="hs-special">(</span><span id="local-6989586621679036844"><span class="annot"><span class="annottext">html :: HtmlElement
</span><a href="#local-6989586621679036844"><span class="hs-identifier hs-var">html</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="Text.XHtml.Internals.html#HtmlTag"><span class="hs-identifier hs-type">HtmlTag</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">markupAttrs :: HtmlElement -&gt; [HtmlAttr]
</span><a href="Text.XHtml.Internals.html#markupAttrs"><span class="hs-identifier hs-var">markupAttrs</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679036843"><span class="annot"><span class="annottext">[HtmlAttr]
</span><a href="#local-6989586621679036843"><span class="hs-identifier hs-var">attrs</span></a></span></span><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-115"></span><span>                            </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">HtmlElement
</span><a href="#local-6989586621679036844"><span class="hs-identifier hs-var">html</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">markupAttrs :: [HtmlAttr]
</span><a href="Text.XHtml.Internals.html#markupAttrs"><span class="hs-identifier hs-var">markupAttrs</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[HtmlAttr]
</span><a href="#local-6989586621679036843"><span class="hs-identifier hs-var">attrs</span></a></span><span> </span><span class="annot"><span class="annottext">[HtmlAttr] -&gt; [HtmlAttr] -&gt; [HtmlAttr]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[HtmlAttr]
</span><a href="#local-6989586621679036846"><span class="hs-identifier hs-var">attr</span></a></span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-116"></span><span>              </span><span class="annot"><a href="#local-6989586621679036845"><span class="hs-identifier hs-var">addAttrs</span></a></span><span> </span><span id="local-6989586621679036842"><span class="annot"><span class="annottext">HtmlElement
</span><a href="#local-6989586621679036842"><span class="hs-identifier hs-var">html</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">HtmlElement
</span><a href="#local-6989586621679036842"><span class="hs-identifier hs-var">html</span></a></span><span>
</span><span id="line-117"></span><span>
</span><span id="line-118"></span><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#CHANGEATTRS"><span class="hs-identifier hs-type">CHANGEATTRS</span></a></span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-type">Html</span></a></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-119"></span><span>      </span><span id="local-6989586621679036839"><span class="annot"><span class="annottext">changeAttrs :: Html -&gt; ([HtmlAttr] -&gt; [HtmlAttr]) -&gt; Html
</span><a href="#local-6989586621679036839"><span class="hs-identifier hs-var hs-var hs-var hs-var">changeAttrs</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-type">Html</span></a></span><span> </span><span id="local-6989586621679036838"><span class="annot"><span class="annottext">[HtmlElement]
</span><a href="#local-6989586621679036838"><span class="hs-identifier hs-var">htmls</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679036837"><span class="annot"><span class="annottext">[HtmlAttr] -&gt; [HtmlAttr]
</span><a href="#local-6989586621679036837"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[HtmlElement] -&gt; Html
</span><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-var">Html</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(HtmlElement -&gt; HtmlElement) -&gt; [HtmlElement] -&gt; [HtmlElement]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">HtmlElement -&gt; HtmlElement
</span><a href="#local-6989586621679036836"><span class="hs-identifier hs-var">addAttrs</span></a></span><span> </span><span class="annot"><span class="annottext">[HtmlElement]
</span><a href="#local-6989586621679036838"><span class="hs-identifier hs-var">htmls</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-120"></span><span>        </span><span class="hs-keyword">where</span><span>
</span><span id="line-121"></span><span>              </span><span id="local-6989586621679036836"><span class="annot"><span class="annottext">addAttrs :: HtmlElement -&gt; HtmlElement
</span><a href="#local-6989586621679036836"><span class="hs-identifier hs-var hs-var">addAttrs</span></a></span></span><span> </span><span class="hs-special">(</span><span id="local-6989586621679036835"><span class="annot"><span class="annottext">html :: HtmlElement
</span><a href="#local-6989586621679036835"><span class="hs-identifier hs-var">html</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="Text.XHtml.Internals.html#HtmlTag"><span class="hs-identifier hs-type">HtmlTag</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">markupAttrs :: HtmlElement -&gt; [HtmlAttr]
</span><a href="Text.XHtml.Internals.html#markupAttrs"><span class="hs-identifier hs-var">markupAttrs</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679036834"><span class="annot"><span class="annottext">[HtmlAttr]
</span><a href="#local-6989586621679036834"><span class="hs-identifier hs-var">attrs</span></a></span></span><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-122"></span><span>                            </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">HtmlElement
</span><a href="#local-6989586621679036835"><span class="hs-identifier hs-var">html</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">markupAttrs :: [HtmlAttr]
</span><a href="Text.XHtml.Internals.html#markupAttrs"><span class="hs-identifier hs-var">markupAttrs</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[HtmlAttr] -&gt; [HtmlAttr]
</span><a href="#local-6989586621679036837"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">[HtmlAttr]
</span><a href="#local-6989586621679036834"><span class="hs-identifier hs-var">attrs</span></a></span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-123"></span><span>              </span><span class="annot"><a href="#local-6989586621679036836"><span class="hs-identifier hs-var">addAttrs</span></a></span><span> </span><span id="local-6989586621679036833"><span class="annot"><span class="annottext">HtmlElement
</span><a href="#local-6989586621679036833"><span class="hs-identifier hs-var">html</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">HtmlElement
</span><a href="#local-6989586621679036833"><span class="hs-identifier hs-var">html</span></a></span><span>
</span><span id="line-124"></span><span>
</span><span id="line-125"></span><span>
</span><span id="line-126"></span><span class="hs-comment">--</span><span>
</span><span id="line-127"></span><span class="hs-comment">-- * Html primitives and basic combinators</span><span>
</span><span id="line-128"></span><span class="hs-comment">--</span><span>
</span><span id="line-129"></span><span>
</span><span id="line-130"></span><span class="hs-comment">-- | Put something inside an HTML element.</span><span>
</span><span id="line-131"></span><span id="local-6989586621679037042"><span id="local-6989586621679037043"><span class="annot"><a href="Text.XHtml.Internals.html#%3C%3C"><span class="hs-operator hs-type">(&lt;&lt;)</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Text.XHtml.Internals.html#HTML"><span class="hs-identifier hs-type">HTML</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679037043"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span>
</span><span id="line-132"></span><span>        </span><span class="hs-special">(</span><span class="annot"><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-type">Html</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679037042"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ Parent</span><span>
</span><span id="line-133"></span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679037043"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-comment">-- ^ Child</span><span>
</span><span id="line-134"></span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679037042"><span class="hs-identifier hs-type">b</span></a></span></span></span><span>
</span><span id="line-135"></span><span id="local-6989586621679036830"><span class="annot"><span class="annottext">Html -&gt; b
</span><a href="#local-6989586621679036830"><span class="hs-identifier hs-var">fn</span></a></span></span><span> </span><span id="%3C%3C"><span class="annot"><span class="annottext">&lt;&lt; :: forall a b. HTML a =&gt; (Html -&gt; b) -&gt; a -&gt; b
</span><a href="Text.XHtml.Internals.html#%3C%3C"><span class="hs-operator hs-var hs-var">&lt;&lt;</span></a></span></span><span> </span><span id="local-6989586621679036829"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679036829"><span class="hs-identifier hs-var">arg</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Html -&gt; b
</span><a href="#local-6989586621679036830"><span class="hs-identifier hs-var">fn</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a -&gt; Html
forall a. HTML a =&gt; a -&gt; Html
</span><a href="Text.XHtml.Internals.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679036829"><span class="hs-identifier hs-var">arg</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-136"></span><span>
</span><span id="line-137"></span><span>
</span><span id="line-138"></span><span id="local-6989586621679036828"><span class="annot"><a href="Text.XHtml.Internals.html#concatHtml"><span class="hs-identifier hs-type">concatHtml</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Text.XHtml.Internals.html#HTML"><span class="hs-identifier hs-type">HTML</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679036828"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="#local-6989586621679036828"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-type">Html</span></a></span></span><span>
</span><span id="line-139"></span><span id="concatHtml"><span class="annot"><span class="annottext">concatHtml :: forall a. HTML a =&gt; [a] -&gt; Html
</span><a href="Text.XHtml.Internals.html#concatHtml"><span class="hs-identifier hs-var hs-var">concatHtml</span></a></span></span><span> </span><span id="local-6989586621679036823"><span class="annot"><span class="annottext">[a]
</span><a href="#local-6989586621679036823"><span class="hs-keyword hs-var">as</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[HtmlElement] -&gt; Html
</span><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-var">Html</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[[HtmlElement]] -&gt; [HtmlElement]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(a -&gt; [HtmlElement]) -&gt; [a] -&gt; [[HtmlElement]]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Html -&gt; [HtmlElement]
</span><a href="Text.XHtml.Internals.html#getHtmlElements"><span class="hs-identifier hs-var hs-var">getHtmlElements</span></a></span><span class="annot"><span class="annottext">(Html -&gt; [HtmlElement]) -&gt; (a -&gt; Html) -&gt; a -&gt; [HtmlElement]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span class="annot"><span class="annottext">a -&gt; Html
forall a. HTML a =&gt; a -&gt; Html
</span><a href="Text.XHtml.Internals.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">[a]
</span><a href="#local-6989586621679036823"><span class="hs-keyword hs-var">as</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-140"></span><span>
</span><span id="line-141"></span><span class="hs-comment">-- | Create a piece of HTML which is the concatenation</span><span>
</span><span id="line-142"></span><span class="hs-comment">--   of two things which can be made into HTML.</span><span>
</span><span id="line-143"></span><span id="local-6989586621679037065"><span id="local-6989586621679037066"><span class="annot"><a href="Text.XHtml.Internals.html#%2B%2B%2B"><span class="hs-operator hs-type">(+++)</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Text.XHtml.Internals.html#HTML"><span class="hs-identifier hs-type">HTML</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679037066"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span class="annot"><a href="Text.XHtml.Internals.html#HTML"><span class="hs-identifier hs-type">HTML</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679037065"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679037066"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679037065"><span class="hs-identifier hs-type">b</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-type">Html</span></a></span></span></span><span>
</span><span id="line-144"></span><span id="local-6989586621679036818"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679036818"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span id="%2B%2B%2B"><span class="annot"><span class="annottext">+++ :: forall a b. (HTML a, HTML b) =&gt; a -&gt; b -&gt; Html
</span><a href="Text.XHtml.Internals.html#%2B%2B%2B"><span class="hs-operator hs-var hs-var">+++</span></a></span></span><span> </span><span id="local-6989586621679036817"><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679036817"><span class="hs-identifier hs-var">b</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[HtmlElement] -&gt; Html
</span><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-var">Html</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Html -&gt; [HtmlElement]
</span><a href="Text.XHtml.Internals.html#getHtmlElements"><span class="hs-identifier hs-var hs-var">getHtmlElements</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a -&gt; Html
forall a. HTML a =&gt; a -&gt; Html
</span><a href="Text.XHtml.Internals.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679036818"><span class="hs-identifier hs-var">a</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">[HtmlElement] -&gt; [HtmlElement] -&gt; [HtmlElement]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">Html -&gt; [HtmlElement]
</span><a href="Text.XHtml.Internals.html#getHtmlElements"><span class="hs-identifier hs-var hs-var">getHtmlElements</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">b -&gt; Html
forall a. HTML a =&gt; a -&gt; Html
</span><a href="Text.XHtml.Internals.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a></span><span> </span><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679036817"><span class="hs-identifier hs-var">b</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-145"></span><span>
</span><span id="line-146"></span><span class="hs-comment">-- | An empty piece of HTML.</span><span>
</span><span id="line-147"></span><span class="annot"><a href="Text.XHtml.Internals.html#noHtml"><span class="hs-identifier hs-type">noHtml</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-type">Html</span></a></span><span>
</span><span id="line-148"></span><span id="noHtml"><span class="annot"><span class="annottext">noHtml :: Html
</span><a href="Text.XHtml.Internals.html#noHtml"><span class="hs-identifier hs-var hs-var">noHtml</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[HtmlElement] -&gt; Html
</span><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-var">Html</span></a></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-149"></span><span>
</span><span id="line-150"></span><span class="hs-comment">-- | Checks whether the given piece of HTML is empty.</span><span>
</span><span id="line-151"></span><span class="annot"><a href="Text.XHtml.Internals.html#isNoHtml"><span class="hs-identifier hs-type">isNoHtml</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-type">Html</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-152"></span><span id="isNoHtml"><span class="annot"><span class="annottext">isNoHtml :: Html -&gt; Bool
</span><a href="Text.XHtml.Internals.html#isNoHtml"><span class="hs-identifier hs-var hs-var">isNoHtml</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-type">Html</span></a></span><span> </span><span id="local-6989586621679036815"><span class="annot"><span class="annottext">[HtmlElement]
</span><a href="#local-6989586621679036815"><span class="hs-identifier hs-var">xs</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[HtmlElement] -&gt; Bool
forall (t :: * -&gt; *) a. Foldable t =&gt; t a -&gt; Bool
</span><a href="../../base/src/Data.Foldable.html#null"><span class="hs-identifier hs-var">null</span></a></span><span> </span><span class="annot"><span class="annottext">[HtmlElement]
</span><a href="#local-6989586621679036815"><span class="hs-identifier hs-var">xs</span></a></span><span>
</span><span id="line-153"></span><span>
</span><span id="line-154"></span><span class="hs-comment">-- | Constructs an element with a custom name.</span><span>
</span><span id="line-155"></span><span class="annot"><a href="Text.XHtml.Internals.html#tag"><span class="hs-identifier hs-type">tag</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-comment">-- ^ Element name</span><span>
</span><span id="line-156"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-type">Html</span></a></span><span> </span><span class="hs-comment">-- ^ Element contents</span><span>
</span><span id="line-157"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-type">Html</span></a></span><span>
</span><span id="line-158"></span><span id="tag"><span class="annot"><span class="annottext">tag :: String -&gt; Html -&gt; Html
</span><a href="Text.XHtml.Internals.html#tag"><span class="hs-identifier hs-var hs-var">tag</span></a></span></span><span> </span><span id="local-6989586621679036812"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036812"><span class="hs-identifier hs-var">str</span></a></span></span><span>       </span><span id="local-6989586621679036811"><span class="annot"><span class="annottext">Html
</span><a href="#local-6989586621679036811"><span class="hs-identifier hs-var">htmls</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[HtmlElement] -&gt; Html
</span><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-var">Html</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-159"></span><span>      </span><span class="annot"><span class="annottext">HtmlTag :: String -&gt; [HtmlAttr] -&gt; Html -&gt; HtmlElement
</span><a href="Text.XHtml.Internals.html#HtmlTag"><span class="hs-identifier hs-type">HtmlTag</span></a></span><span> </span><span class="hs-special">{</span><span>
</span><span id="line-160"></span><span>              </span><span class="annot"><span class="annottext">markupTag :: String
</span><a href="Text.XHtml.Internals.html#markupTag"><span class="hs-identifier hs-var">markupTag</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036812"><span class="hs-identifier hs-var">str</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-161"></span><span>              </span><span class="annot"><span class="annottext">markupAttrs :: [HtmlAttr]
</span><a href="Text.XHtml.Internals.html#markupAttrs"><span class="hs-identifier hs-var">markupAttrs</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span class="hs-special">,</span><span>
</span><span id="line-162"></span><span>              </span><span class="annot"><span class="annottext">markupContent :: Html
</span><a href="Text.XHtml.Internals.html#markupContent"><span class="hs-identifier hs-var">markupContent</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Html
</span><a href="#local-6989586621679036811"><span class="hs-identifier hs-var">htmls</span></a></span><span> </span><span class="hs-special">}</span><span class="hs-special">]</span><span>
</span><span id="line-163"></span><span>
</span><span id="line-164"></span><span class="hs-comment">-- | Constructs an element with a custom name, and</span><span>
</span><span id="line-165"></span><span class="hs-comment">--   without any children.</span><span>
</span><span id="line-166"></span><span class="annot"><a href="Text.XHtml.Internals.html#itag"><span class="hs-identifier hs-type">itag</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-type">Html</span></a></span><span>
</span><span id="line-167"></span><span id="itag"><span class="annot"><span class="annottext">itag :: String -&gt; Html
</span><a href="Text.XHtml.Internals.html#itag"><span class="hs-identifier hs-var hs-var">itag</span></a></span></span><span> </span><span id="local-6989586621679036809"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036809"><span class="hs-identifier hs-var">str</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Html -&gt; Html
</span><a href="Text.XHtml.Internals.html#tag"><span class="hs-identifier hs-var">tag</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036809"><span class="hs-identifier hs-var">str</span></a></span><span> </span><span class="annot"><span class="annottext">Html
</span><a href="Text.XHtml.Internals.html#noHtml"><span class="hs-identifier hs-var">noHtml</span></a></span><span>
</span><span id="line-168"></span><span>
</span><span id="line-169"></span><span class="annot"><a href="Text.XHtml.Internals.html#emptyAttr"><span class="hs-identifier hs-type">emptyAttr</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#HtmlAttr"><span class="hs-identifier hs-type">HtmlAttr</span></a></span><span>
</span><span id="line-170"></span><span id="emptyAttr"><span class="annot"><span class="annottext">emptyAttr :: String -&gt; HtmlAttr
</span><a href="Text.XHtml.Internals.html#emptyAttr"><span class="hs-identifier hs-var hs-var">emptyAttr</span></a></span></span><span> </span><span id="local-6989586621679036807"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036807"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; HtmlAttr
</span><a href="Text.XHtml.Internals.html#HtmlAttr"><span class="hs-identifier hs-var">HtmlAttr</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036807"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036807"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-171"></span><span>
</span><span id="line-172"></span><span class="annot"><a href="Text.XHtml.Internals.html#intAttr"><span class="hs-identifier hs-type">intAttr</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#HtmlAttr"><span class="hs-identifier hs-type">HtmlAttr</span></a></span><span>
</span><span id="line-173"></span><span id="intAttr"><span class="annot"><span class="annottext">intAttr :: String -&gt; Int -&gt; HtmlAttr
</span><a href="Text.XHtml.Internals.html#intAttr"><span class="hs-identifier hs-var hs-var">intAttr</span></a></span></span><span> </span><span id="local-6989586621679036805"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036805"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span id="local-6989586621679036804"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679036804"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; HtmlAttr
</span><a href="Text.XHtml.Internals.html#HtmlAttr"><span class="hs-identifier hs-var">HtmlAttr</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036805"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679036804"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-174"></span><span>
</span><span id="line-175"></span><span class="annot"><a href="Text.XHtml.Internals.html#strAttr"><span class="hs-identifier hs-type">strAttr</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#HtmlAttr"><span class="hs-identifier hs-type">HtmlAttr</span></a></span><span>
</span><span id="line-176"></span><span id="strAttr"><span class="annot"><span class="annottext">strAttr :: String -&gt; String -&gt; HtmlAttr
</span><a href="Text.XHtml.Internals.html#strAttr"><span class="hs-identifier hs-var hs-var">strAttr</span></a></span></span><span> </span><span id="local-6989586621679036801"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036801"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span id="local-6989586621679036800"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036800"><span class="hs-identifier hs-var">t</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; HtmlAttr
</span><a href="Text.XHtml.Internals.html#HtmlAttr"><span class="hs-identifier hs-var">HtmlAttr</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036801"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ShowS
</span><a href="Text.XHtml.Internals.html#stringToHtmlString"><span class="hs-identifier hs-var">stringToHtmlString</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036800"><span class="hs-identifier hs-var">t</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-177"></span><span>
</span><span id="line-178"></span><span class="annot"><a href="Text.XHtml.Internals.html#htmlAttr"><span class="hs-identifier hs-type">htmlAttr</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-type">Html</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#HtmlAttr"><span class="hs-identifier hs-type">HtmlAttr</span></a></span><span>
</span><span id="line-179"></span><span id="htmlAttr"><span class="annot"><span class="annottext">htmlAttr :: String -&gt; Html -&gt; HtmlAttr
</span><a href="Text.XHtml.Internals.html#htmlAttr"><span class="hs-identifier hs-var hs-var">htmlAttr</span></a></span></span><span> </span><span id="local-6989586621679036798"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036798"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span id="local-6989586621679036797"><span class="annot"><span class="annottext">Html
</span><a href="#local-6989586621679036797"><span class="hs-identifier hs-var">t</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; HtmlAttr
</span><a href="Text.XHtml.Internals.html#HtmlAttr"><span class="hs-identifier hs-var">HtmlAttr</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036798"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Html -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">Html
</span><a href="#local-6989586621679036797"><span class="hs-identifier hs-var">t</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-180"></span><span>
</span><span id="line-181"></span><span>
</span><span id="line-182"></span><span class="hs-comment">{-
foldHtml :: (String -&gt; [HtmlAttr] -&gt; [a] -&gt; a)
      -&gt; (String -&gt; a)
      -&gt; Html
      -&gt; a
foldHtml f g (HtmlTag str attr fmls)
      = f str attr (map (foldHtml f g) fmls)
foldHtml f g (HtmlString  str)
      = g str

-}</span><span>
</span><span id="line-193"></span><span>
</span><span id="line-194"></span><span class="hs-comment">-- | Processing Strings into Html friendly things.</span><span>
</span><span id="line-195"></span><span class="annot"><a href="Text.XHtml.Internals.html#stringToHtmlString"><span class="hs-identifier hs-type">stringToHtmlString</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-196"></span><span id="stringToHtmlString"><span class="annot"><span class="annottext">stringToHtmlString :: ShowS
</span><a href="Text.XHtml.Internals.html#stringToHtmlString"><span class="hs-identifier hs-var hs-var">stringToHtmlString</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Char -&gt; String) -&gt; ShowS
forall (t :: * -&gt; *) a b. Foldable t =&gt; (a -&gt; [b]) -&gt; t a -&gt; [b]
</span><a href="../../base/src/Data.Foldable.html#concatMap"><span class="hs-identifier hs-var">concatMap</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; String
</span><a href="#local-6989586621679036795"><span class="hs-identifier hs-var">fixChar</span></a></span><span>
</span><span id="line-197"></span><span>    </span><span class="hs-keyword">where</span><span>
</span><span id="line-198"></span><span>      </span><span id="local-6989586621679036795"><span class="annot"><span class="annottext">fixChar :: Char -&gt; String
</span><a href="#local-6989586621679036795"><span class="hs-identifier hs-var hs-var">fixChar</span></a></span></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'&lt;'</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&amp;lt;&quot;</span></span><span>
</span><span id="line-199"></span><span>      </span><span class="annot"><a href="#local-6989586621679036795"><span class="hs-identifier hs-var">fixChar</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'&gt;'</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&amp;gt;&quot;</span></span><span>
</span><span id="line-200"></span><span>      </span><span class="annot"><a href="#local-6989586621679036795"><span class="hs-identifier hs-var">fixChar</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'&amp;'</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&amp;amp;&quot;</span></span><span>
</span><span id="line-201"></span><span>      </span><span class="annot"><a href="#local-6989586621679036795"><span class="hs-identifier hs-var">fixChar</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'&quot;'</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&amp;quot;&quot;</span></span><span>
</span><span id="line-202"></span><span>      </span><span class="annot"><a href="#local-6989586621679036795"><span class="hs-identifier hs-var">fixChar</span></a></span><span> </span><span id="local-6989586621679036790"><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679036790"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Char -&gt; Int
</span><a href="../../base/src/GHC.Base.html#ord"><span class="hs-identifier hs-var">ord</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679036790"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&lt;</span></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0x80</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679036790"><span class="hs-identifier hs-var">c</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-203"></span><span>      </span><span class="annot"><a href="#local-6989586621679036795"><span class="hs-identifier hs-var">fixChar</span></a></span><span> </span><span id="local-6989586621679036787"><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679036787"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&amp;#&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char -&gt; Int
</span><a href="../../base/src/GHC.Base.html#ord"><span class="hs-identifier hs-var">ord</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679036787"><span class="hs-identifier hs-var">c</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;;&quot;</span></span><span>
</span><span id="line-204"></span><span>
</span><span id="line-205"></span><span>
</span><span id="line-206"></span><span class="hs-comment">-- | This is not processed for special chars.</span><span>
</span><span id="line-207"></span><span class="hs-comment">-- use stringToHtml or lineToHtml instead, for user strings,</span><span>
</span><span id="line-208"></span><span class="hs-comment">-- because they understand special chars, like @'&lt;'@.</span><span>
</span><span id="line-209"></span><span class="annot"><a href="Text.XHtml.Internals.html#primHtml"><span class="hs-identifier hs-type">primHtml</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-type">Html</span></a></span><span>
</span><span id="line-210"></span><span id="primHtml"><span class="annot"><span class="annottext">primHtml :: String -&gt; Html
</span><a href="Text.XHtml.Internals.html#primHtml"><span class="hs-identifier hs-var hs-var">primHtml</span></a></span></span><span> </span><span id="local-6989586621679036785"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036785"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">String -&gt; Bool
forall (t :: * -&gt; *) a. Foldable t =&gt; t a -&gt; Bool
</span><a href="../../base/src/Data.Foldable.html#null"><span class="hs-identifier hs-var">null</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036785"><span class="hs-identifier hs-var">x</span></a></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[HtmlElement] -&gt; Html
</span><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-var">Html</span></a></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-211"></span><span>           </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[HtmlElement] -&gt; Html
</span><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-var">Html</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">String -&gt; HtmlElement
</span><a href="Text.XHtml.Internals.html#HtmlString"><span class="hs-identifier hs-var">HtmlString</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036785"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-212"></span><span>
</span><span id="line-213"></span><span>
</span><span id="line-214"></span><span>
</span><span id="line-215"></span><span class="hs-comment">--</span><span>
</span><span id="line-216"></span><span class="hs-comment">-- * Html Rendering</span><span>
</span><span id="line-217"></span><span class="hs-comment">--</span><span>
</span><span id="line-218"></span><span>
</span><span id="line-219"></span><span id="local-6989586621679036784"><span class="annot"><a href="Text.XHtml.Internals.html#mkHtml"><span class="hs-identifier hs-type">mkHtml</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#HTML"><span class="hs-identifier hs-type">HTML</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679036784"><span class="hs-identifier hs-type">html</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679036784"><span class="hs-identifier hs-type">html</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier hs-type">Html</span></a></span></span><span>
</span><span id="line-220"></span><span id="mkHtml"><span class="annot"><span class="annottext">mkHtml :: forall a. HTML a =&gt; a -&gt; Html
</span><a href="Text.XHtml.Internals.html#mkHtml"><span class="hs-identifier hs-var hs-var">mkHtml</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; Html -&gt; Html
</span><a href="Text.XHtml.Internals.html#tag"><span class="hs-identifier hs-var">tag</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;html&quot;</span></span><span> </span><span class="annot"><span class="annottext">(Html -&gt; Html) -&gt; [HtmlAttr] -&gt; Html -&gt; Html
forall a. ADDATTRS a =&gt; a -&gt; [HtmlAttr] -&gt; a
</span><a href="Text.XHtml.Internals.html#%21"><span class="hs-operator hs-var">!</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">String -&gt; String -&gt; HtmlAttr
</span><a href="Text.XHtml.Internals.html#strAttr"><span class="hs-identifier hs-var">strAttr</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;xmlns&quot;</span></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;http://www.w3.org/1999/xhtml&quot;</span></span><span class="hs-special">]</span><span> </span><span class="annot"><span class="annottext">(Html -&gt; Html) -&gt; html -&gt; Html
forall a b. HTML a =&gt; (Html -&gt; b) -&gt; a -&gt; b
</span><a href="Text.XHtml.Internals.html#%3C%3C"><span class="hs-operator hs-var">&lt;&lt;</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-221"></span><span>
</span><span id="line-222"></span><span class="hs-comment">-- | Output the HTML without adding newlines or spaces within the markup.</span><span>
</span><span id="line-223"></span><span class="hs-comment">--   This should be the most time and space efficient way to</span><span>
</span><span id="line-224"></span><span class="hs-comment">--   render HTML, though the ouput is quite unreadable.</span><span>
</span><span id="line-225"></span><span id="local-6989586621679037030"><span class="annot"><a href="Text.XHtml.Internals.html#showHtmlInternal"><span class="hs-identifier hs-type">showHtmlInternal</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#HTML"><span class="hs-identifier hs-type">HTML</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679037030"><span class="hs-identifier hs-type">html</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span>
</span><span id="line-226"></span><span>                    </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-comment">-- ^ DOCTYPE declaration</span><span>
</span><span id="line-227"></span><span>                 </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679037030"><span class="hs-identifier hs-type">html</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span></span><span>
</span><span id="line-228"></span><span id="showHtmlInternal"><span class="annot"><span class="annottext">showHtmlInternal :: forall html. HTML html =&gt; String -&gt; html -&gt; String
</span><a href="Text.XHtml.Internals.html#showHtmlInternal"><span class="hs-identifier hs-var hs-var">showHtmlInternal</span></a></span></span><span> </span><span id="local-6989586621679036774"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036774"><span class="hs-identifier hs-var">docType</span></a></span></span><span> </span><span id="local-6989586621679036773"><span class="annot"><span class="annottext">html
</span><a href="#local-6989586621679036773"><span class="hs-identifier hs-var">theHtml</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-229"></span><span>    </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036774"><span class="hs-identifier hs-var">docType</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">Html -&gt; String
forall html. HTML html =&gt; html -&gt; String
</span><a href="Text.XHtml.Internals.html#showHtmlFragment"><span class="hs-identifier hs-var">showHtmlFragment</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">html -&gt; Html
forall a. HTML a =&gt; a -&gt; Html
</span><a href="Text.XHtml.Internals.html#mkHtml"><span class="hs-identifier hs-var">mkHtml</span></a></span><span> </span><span class="annot"><span class="annottext">html
</span><a href="#local-6989586621679036773"><span class="hs-identifier hs-var">theHtml</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-230"></span><span>
</span><span id="line-231"></span><span class="hs-comment">-- | Outputs indented HTML. Because space matters in</span><span>
</span><span id="line-232"></span><span class="hs-comment">--   HTML, the output is quite messy.</span><span>
</span><span id="line-233"></span><span id="local-6989586621679036771"><span class="annot"><a href="Text.XHtml.Internals.html#renderHtmlInternal"><span class="hs-identifier hs-type">renderHtmlInternal</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#HTML"><span class="hs-identifier hs-type">HTML</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679036771"><span class="hs-identifier hs-type">html</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span>
</span><span id="line-234"></span><span>                      </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>  </span><span class="hs-comment">-- ^ DOCTYPE declaration</span><span>
</span><span id="line-235"></span><span>                   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679036771"><span class="hs-identifier hs-type">html</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span></span><span>
</span><span id="line-236"></span><span id="renderHtmlInternal"><span class="annot"><span class="annottext">renderHtmlInternal :: forall html. HTML html =&gt; String -&gt; html -&gt; String
</span><a href="Text.XHtml.Internals.html#renderHtmlInternal"><span class="hs-identifier hs-var hs-var">renderHtmlInternal</span></a></span></span><span> </span><span id="local-6989586621679036766"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036766"><span class="hs-identifier hs-var">docType</span></a></span></span><span> </span><span id="local-6989586621679036765"><span class="annot"><span class="annottext">html
</span><a href="#local-6989586621679036765"><span class="hs-identifier hs-var">theHtml</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-237"></span><span>      </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036766"><span class="hs-identifier hs-var">docType</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">Html -&gt; String
forall html. HTML html =&gt; html -&gt; String
</span><a href="Text.XHtml.Internals.html#renderHtmlFragment"><span class="hs-identifier hs-var">renderHtmlFragment</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">html -&gt; Html
forall a. HTML a =&gt; a -&gt; Html
</span><a href="Text.XHtml.Internals.html#mkHtml"><span class="hs-identifier hs-var">mkHtml</span></a></span><span> </span><span class="annot"><span class="annottext">html
</span><a href="#local-6989586621679036765"><span class="hs-identifier hs-var">theHtml</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span>
</span><span id="line-238"></span><span>
</span><span id="line-239"></span><span class="hs-comment">-- | Outputs indented HTML, with indentation inside elements.</span><span>
</span><span id="line-240"></span><span class="hs-comment">--   This can change the meaning of the HTML document, and</span><span>
</span><span id="line-241"></span><span class="hs-comment">--   is mostly useful for debugging the HTML output.</span><span>
</span><span id="line-242"></span><span class="hs-comment">--   The implementation is inefficient, and you are normally</span><span>
</span><span id="line-243"></span><span class="hs-comment">--   better off using 'showHtml' or 'renderHtml'.</span><span>
</span><span id="line-244"></span><span id="local-6989586621679036764"><span class="annot"><a href="Text.XHtml.Internals.html#prettyHtmlInternal"><span class="hs-identifier hs-type">prettyHtmlInternal</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#HTML"><span class="hs-identifier hs-type">HTML</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679036764"><span class="hs-identifier hs-type">html</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span>
</span><span id="line-245"></span><span>                      </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-comment">-- ^ DOCTYPE declaration</span><span>
</span><span id="line-246"></span><span>                   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679036764"><span class="hs-identifier hs-type">html</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span></span><span>
</span><span id="line-247"></span><span id="prettyHtmlInternal"><span class="annot"><span class="annottext">prettyHtmlInternal :: forall html. HTML html =&gt; String -&gt; html -&gt; String
</span><a href="Text.XHtml.Internals.html#prettyHtmlInternal"><span class="hs-identifier hs-var hs-var">prettyHtmlInternal</span></a></span></span><span> </span><span id="local-6989586621679036759"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036759"><span class="hs-identifier hs-var">docType</span></a></span></span><span> </span><span id="local-6989586621679036758"><span class="annot"><span class="annottext">html
</span><a href="#local-6989586621679036758"><span class="hs-identifier hs-var">theHtml</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-248"></span><span>    </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036759"><span class="hs-identifier hs-var">docType</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">Html -&gt; String
forall html. HTML html =&gt; html -&gt; String
</span><a href="Text.XHtml.Internals.html#prettyHtmlFragment"><span class="hs-identifier hs-var">prettyHtmlFragment</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">html -&gt; Html
forall a. HTML a =&gt; a -&gt; Html
</span><a href="Text.XHtml.Internals.html#mkHtml"><span class="hs-identifier hs-var">mkHtml</span></a></span><span> </span><span class="annot"><span class="annottext">html
</span><a href="#local-6989586621679036758"><span class="hs-identifier hs-var">theHtml</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-249"></span><span>
</span><span id="line-250"></span><span class="hs-comment">-- | Render a piece of HTML without adding a DOCTYPE declaration</span><span>
</span><span id="line-251"></span><span class="hs-comment">--   or root element. Does not add any extra whitespace.</span><span>
</span><span id="line-252"></span><span id="local-6989586621679036756"><span class="annot"><a href="Text.XHtml.Internals.html#showHtmlFragment"><span class="hs-identifier hs-type">showHtmlFragment</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#HTML"><span class="hs-identifier hs-type">HTML</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679036756"><span class="hs-identifier hs-type">html</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679036756"><span class="hs-identifier hs-type">html</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span></span><span>
</span><span id="line-253"></span><span id="showHtmlFragment"><span class="annot"><span class="annottext">showHtmlFragment :: forall html. HTML html =&gt; html -&gt; String
</span><a href="Text.XHtml.Internals.html#showHtmlFragment"><span class="hs-identifier hs-var hs-var">showHtmlFragment</span></a></span></span><span> </span><span id="local-6989586621679036752"><span class="annot"><span class="annottext">html
</span><a href="#local-6989586621679036752"><span class="hs-identifier hs-var">h</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-254"></span><span>    </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(ShowS -&gt; ShowS -&gt; ShowS) -&gt; ShowS -&gt; [ShowS] -&gt; ShowS
forall (t :: * -&gt; *) a b.
Foldable t =&gt;
(a -&gt; b -&gt; b) -&gt; b -&gt; t a -&gt; b
</span><a href="../../base/src/Data.Foldable.html#foldr"><span class="hs-identifier hs-var">foldr</span></a></span><span> </span><span class="annot"><span class="annottext">ShowS -&gt; ShowS -&gt; ShowS
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">(.)</span></a></span><span> </span><span class="annot"><span class="annottext">ShowS
forall a. a -&gt; a
</span><a href="../../base/src/GHC.Base.html#id"><span class="hs-identifier hs-var">id</span></a></span><span> </span><span class="annot"><span class="annottext">([ShowS] -&gt; ShowS) -&gt; [ShowS] -&gt; ShowS
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">(HtmlElement -&gt; ShowS) -&gt; [HtmlElement] -&gt; [ShowS]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">HtmlElement -&gt; ShowS
</span><a href="Text.XHtml.Internals.html#showHtml%27"><span class="hs-identifier hs-var">showHtml'</span></a></span><span> </span><span class="annot"><span class="annottext">([HtmlElement] -&gt; [ShowS]) -&gt; [HtmlElement] -&gt; [ShowS]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Html -&gt; [HtmlElement]
</span><a href="Text.XHtml.Internals.html#getHtmlElements"><span class="hs-identifier hs-var hs-var">getHtmlElements</span></a></span><span> </span><span class="annot"><span class="annottext">(Html -&gt; [HtmlElement]) -&gt; Html -&gt; [HtmlElement]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">html -&gt; Html
forall a. HTML a =&gt; a -&gt; Html
</span><a href="Text.XHtml.Internals.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a></span><span> </span><span class="annot"><span class="annottext">html
</span><a href="#local-6989586621679036752"><span class="hs-identifier hs-var">h</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&quot;</span></span><span>
</span><span id="line-255"></span><span>
</span><span id="line-256"></span><span class="hs-comment">-- | Render a piece of indented HTML without adding a DOCTYPE declaration</span><span>
</span><span id="line-257"></span><span class="hs-comment">--   or root element. Only adds whitespace where it does not change</span><span>
</span><span id="line-258"></span><span class="hs-comment">--   the meaning of the document.</span><span>
</span><span id="line-259"></span><span id="local-6989586621679037081"><span class="annot"><a href="Text.XHtml.Internals.html#renderHtmlFragment"><span class="hs-identifier hs-type">renderHtmlFragment</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#HTML"><span class="hs-identifier hs-type">HTML</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679037081"><span class="hs-identifier hs-type">html</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679037081"><span class="hs-identifier hs-type">html</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span></span><span>
</span><span id="line-260"></span><span id="renderHtmlFragment"><span class="annot"><span class="annottext">renderHtmlFragment :: forall html. HTML html =&gt; html -&gt; String
</span><a href="Text.XHtml.Internals.html#renderHtmlFragment"><span class="hs-identifier hs-var hs-var">renderHtmlFragment</span></a></span></span><span> </span><span id="local-6989586621679036747"><span class="annot"><span class="annottext">html
</span><a href="#local-6989586621679036747"><span class="hs-identifier hs-var">h</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-261"></span><span>    </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(ShowS -&gt; ShowS -&gt; ShowS) -&gt; ShowS -&gt; [ShowS] -&gt; ShowS
forall (t :: * -&gt; *) a b.
Foldable t =&gt;
(a -&gt; b -&gt; b) -&gt; b -&gt; t a -&gt; b
</span><a href="../../base/src/Data.Foldable.html#foldr"><span class="hs-identifier hs-var">foldr</span></a></span><span> </span><span class="annot"><span class="annottext">ShowS -&gt; ShowS -&gt; ShowS
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">(.)</span></a></span><span> </span><span class="annot"><span class="annottext">ShowS
forall a. a -&gt; a
</span><a href="../../base/src/GHC.Base.html#id"><span class="hs-identifier hs-var">id</span></a></span><span> </span><span class="annot"><span class="annottext">([ShowS] -&gt; ShowS) -&gt; [ShowS] -&gt; ShowS
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">(HtmlElement -&gt; ShowS) -&gt; [HtmlElement] -&gt; [ShowS]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int -&gt; HtmlElement -&gt; ShowS
</span><a href="Text.XHtml.Internals.html#renderHtml%27"><span class="hs-identifier hs-var">renderHtml'</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">([HtmlElement] -&gt; [ShowS]) -&gt; [HtmlElement] -&gt; [ShowS]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Html -&gt; [HtmlElement]
</span><a href="Text.XHtml.Internals.html#getHtmlElements"><span class="hs-identifier hs-var hs-var">getHtmlElements</span></a></span><span> </span><span class="annot"><span class="annottext">(Html -&gt; [HtmlElement]) -&gt; Html -&gt; [HtmlElement]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">html -&gt; Html
forall a. HTML a =&gt; a -&gt; Html
</span><a href="Text.XHtml.Internals.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a></span><span> </span><span class="annot"><span class="annottext">html
</span><a href="#local-6989586621679036747"><span class="hs-identifier hs-var">h</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&quot;</span></span><span>
</span><span id="line-262"></span><span>
</span><span id="line-263"></span><span class="hs-comment">-- | Render a piece of indented HTML without adding a DOCTYPE declaration</span><span>
</span><span id="line-264"></span><span class="hs-comment">--   or a root element.</span><span>
</span><span id="line-265"></span><span class="hs-comment">--   The indentation is done inside elements.</span><span>
</span><span id="line-266"></span><span class="hs-comment">--   This can change the meaning of the HTML document, and</span><span>
</span><span id="line-267"></span><span class="hs-comment">--   is mostly useful for debugging the HTML output.</span><span>
</span><span id="line-268"></span><span class="hs-comment">--   The implementation is inefficient, and you are normally</span><span>
</span><span id="line-269"></span><span class="hs-comment">--   better off using 'showHtmlFragment' or 'renderHtmlFragment'.</span><span>
</span><span id="line-270"></span><span id="local-6989586621679036745"><span class="annot"><a href="Text.XHtml.Internals.html#prettyHtmlFragment"><span class="hs-identifier hs-type">prettyHtmlFragment</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#HTML"><span class="hs-identifier hs-type">HTML</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679036745"><span class="hs-identifier hs-type">html</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679036745"><span class="hs-identifier hs-type">html</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span></span><span>
</span><span id="line-271"></span><span id="prettyHtmlFragment"><span class="annot"><span class="annottext">prettyHtmlFragment :: forall html. HTML html =&gt; html -&gt; String
</span><a href="Text.XHtml.Internals.html#prettyHtmlFragment"><span class="hs-identifier hs-var hs-var">prettyHtmlFragment</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-272"></span><span>    </span><span class="annot"><span class="annottext">[String] -&gt; String
</span><a href="../../base/src/Data.OldList.html#unlines"><span class="hs-identifier hs-var">unlines</span></a></span><span> </span><span class="annot"><span class="annottext">([String] -&gt; String) -&gt; (html -&gt; [String]) -&gt; html -&gt; String
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">[[String]] -&gt; [String]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span> </span><span class="annot"><span class="annottext">([[String]] -&gt; [String])
-&gt; (html -&gt; [[String]]) -&gt; html -&gt; [String]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">(HtmlElement -&gt; [String]) -&gt; [HtmlElement] -&gt; [[String]]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">HtmlElement -&gt; [String]
</span><a href="Text.XHtml.Internals.html#prettyHtml%27"><span class="hs-identifier hs-var">prettyHtml'</span></a></span><span> </span><span class="annot"><span class="annottext">([HtmlElement] -&gt; [[String]])
-&gt; (html -&gt; [HtmlElement]) -&gt; html -&gt; [[String]]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">Html -&gt; [HtmlElement]
</span><a href="Text.XHtml.Internals.html#getHtmlElements"><span class="hs-identifier hs-var hs-var">getHtmlElements</span></a></span><span> </span><span class="annot"><span class="annottext">(Html -&gt; [HtmlElement]) -&gt; (html -&gt; Html) -&gt; html -&gt; [HtmlElement]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">html -&gt; Html
forall a. HTML a =&gt; a -&gt; Html
</span><a href="Text.XHtml.Internals.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a></span><span>
</span><span id="line-273"></span><span>
</span><span id="line-274"></span><span class="hs-comment">-- | Show a single HTML element, without adding whitespace.</span><span>
</span><span id="line-275"></span><span class="annot"><a href="Text.XHtml.Internals.html#showHtml%27"><span class="hs-identifier hs-type">showHtml'</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#HtmlElement"><span class="hs-identifier hs-type">HtmlElement</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Show.html#ShowS"><span class="hs-identifier hs-type">ShowS</span></a></span><span>
</span><span id="line-276"></span><span id="showHtml%27"><span class="annot"><span class="annottext">showHtml' :: HtmlElement -&gt; ShowS
</span><a href="Text.XHtml.Internals.html#showHtml%27"><span class="hs-identifier hs-var hs-var">showHtml'</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Text.XHtml.Internals.html#HtmlString"><span class="hs-identifier hs-type">HtmlString</span></a></span><span> </span><span id="local-6989586621679036739"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036739"><span class="hs-identifier hs-var">str</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">(++)</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036739"><span class="hs-identifier hs-var">str</span></a></span><span>
</span><span id="line-277"></span><span class="annot"><a href="Text.XHtml.Internals.html#showHtml%27"><span class="hs-identifier hs-var">showHtml'</span></a></span><span class="hs-special">(</span><span class="annot"><a href="Text.XHtml.Internals.html#HtmlTag"><span class="hs-identifier hs-type">HtmlTag</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">markupTag :: HtmlElement -&gt; String
</span><a href="Text.XHtml.Internals.html#markupTag"><span class="hs-identifier hs-var">markupTag</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679036738"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036738"><span class="hs-identifier hs-var">name</span></a></span></span><span class="hs-special">,</span><span>
</span><span id="line-278"></span><span>                    </span><span class="annot"><span class="annottext">markupContent :: HtmlElement -&gt; Html
</span><a href="Text.XHtml.Internals.html#markupContent"><span class="hs-identifier hs-var">markupContent</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679036737"><span class="annot"><span class="annottext">Html
</span><a href="#local-6989586621679036737"><span class="hs-identifier hs-var">html</span></a></span></span><span class="hs-special">,</span><span>
</span><span id="line-279"></span><span>                    </span><span class="annot"><span class="annottext">markupAttrs :: HtmlElement -&gt; [HtmlAttr]
</span><a href="Text.XHtml.Internals.html#markupAttrs"><span class="hs-identifier hs-var">markupAttrs</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679036736"><span class="annot"><span class="annottext">[HtmlAttr]
</span><a href="#local-6989586621679036736"><span class="hs-identifier hs-var">attrs</span></a></span></span><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
</span><span id="line-280"></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Html -&gt; Bool
</span><a href="Text.XHtml.Internals.html#isNoHtml"><span class="hs-identifier hs-var">isNoHtml</span></a></span><span> </span><span class="annot"><span class="annottext">Html
</span><a href="#local-6989586621679036737"><span class="hs-identifier hs-var">html</span></a></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><span class="hs-operator hs-var">&amp;&amp;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; [String] -&gt; Bool
forall (t :: * -&gt; *) a. (Foldable t, Eq a) =&gt; a -&gt; t a -&gt; Bool
</span><a href="../../base/src/Data.Foldable.html#elem"><span class="hs-identifier hs-var">elem</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036738"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="Text.XHtml.Internals.html#validHtmlITags"><span class="hs-identifier hs-var">validHtmlITags</span></a></span><span>
</span><span id="line-281"></span><span>      </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; String -&gt; [HtmlAttr] -&gt; String -&gt; ShowS
</span><a href="Text.XHtml.Internals.html#renderTag"><span class="hs-identifier hs-var">renderTag</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036738"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">[HtmlAttr]
</span><a href="#local-6989586621679036736"><span class="hs-identifier hs-var">attrs</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&quot;</span></span><span>
</span><span id="line-282"></span><span>      </span><span class="hs-keyword">else</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; String -&gt; [HtmlAttr] -&gt; String -&gt; ShowS
</span><a href="Text.XHtml.Internals.html#renderTag"><span class="hs-identifier hs-var">renderTag</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036738"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">[HtmlAttr]
</span><a href="#local-6989586621679036736"><span class="hs-identifier hs-var">attrs</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&quot;</span></span><span>
</span><span id="line-283"></span><span>            </span><span class="annot"><span class="annottext">ShowS -&gt; ShowS -&gt; ShowS
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">(ShowS -&gt; ShowS -&gt; ShowS) -&gt; ShowS -&gt; [ShowS] -&gt; ShowS
forall (t :: * -&gt; *) a b.
Foldable t =&gt;
(a -&gt; b -&gt; b) -&gt; b -&gt; t a -&gt; b
</span><a href="../../base/src/Data.Foldable.html#foldr"><span class="hs-identifier hs-var">foldr</span></a></span><span> </span><span class="annot"><span class="annottext">ShowS -&gt; ShowS -&gt; ShowS
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">(.)</span></a></span><span> </span><span class="annot"><span class="annottext">ShowS
forall a. a -&gt; a
</span><a href="../../base/src/GHC.Base.html#id"><span class="hs-identifier hs-var">id</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(HtmlElement -&gt; ShowS) -&gt; [HtmlElement] -&gt; [ShowS]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">HtmlElement -&gt; ShowS
</span><a href="Text.XHtml.Internals.html#showHtml%27"><span class="hs-identifier hs-var">showHtml'</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Html -&gt; [HtmlElement]
</span><a href="Text.XHtml.Internals.html#getHtmlElements"><span class="hs-identifier hs-var hs-var">getHtmlElements</span></a></span><span> </span><span class="annot"><span class="annottext">Html
</span><a href="#local-6989586621679036737"><span class="hs-identifier hs-var">html</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-284"></span><span>            </span><span class="annot"><span class="annottext">ShowS -&gt; ShowS -&gt; ShowS
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; ShowS
</span><a href="Text.XHtml.Internals.html#renderEndTag"><span class="hs-identifier hs-var">renderEndTag</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036738"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&quot;</span></span><span class="hs-special">)</span><span>
</span><span id="line-285"></span><span>
</span><span id="line-286"></span><span class="annot"><a href="Text.XHtml.Internals.html#renderHtml%27"><span class="hs-identifier hs-type">renderHtml'</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#HtmlElement"><span class="hs-identifier hs-type">HtmlElement</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Show.html#ShowS"><span class="hs-identifier hs-type">ShowS</span></a></span><span>
</span><span id="line-287"></span><span id="renderHtml%27"><span class="annot"><span class="annottext">renderHtml' :: Int -&gt; HtmlElement -&gt; ShowS
</span><a href="Text.XHtml.Internals.html#renderHtml%27"><span class="hs-identifier hs-var hs-var">renderHtml'</span></a></span></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Text.XHtml.Internals.html#HtmlString"><span class="hs-identifier hs-type">HtmlString</span></a></span><span> </span><span id="local-6989586621679036730"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036730"><span class="hs-identifier hs-var">str</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">(++)</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036730"><span class="hs-identifier hs-var">str</span></a></span><span>
</span><span id="line-288"></span><span class="annot"><a href="Text.XHtml.Internals.html#renderHtml%27"><span class="hs-identifier hs-var">renderHtml'</span></a></span><span> </span><span id="local-6989586621679036729"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679036729"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Text.XHtml.Internals.html#HtmlTag"><span class="hs-identifier hs-type">HtmlTag</span></a></span><span>
</span><span id="line-289"></span><span>              </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">markupTag :: HtmlElement -&gt; String
</span><a href="Text.XHtml.Internals.html#markupTag"><span class="hs-identifier hs-var">markupTag</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679036728"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036728"><span class="hs-identifier hs-var">name</span></a></span></span><span class="hs-special">,</span><span>
</span><span id="line-290"></span><span>                </span><span class="annot"><span class="annottext">markupContent :: HtmlElement -&gt; Html
</span><a href="Text.XHtml.Internals.html#markupContent"><span class="hs-identifier hs-var">markupContent</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679036727"><span class="annot"><span class="annottext">Html
</span><a href="#local-6989586621679036727"><span class="hs-identifier hs-var">html</span></a></span></span><span class="hs-special">,</span><span>
</span><span id="line-291"></span><span>                </span><span class="annot"><span class="annottext">markupAttrs :: HtmlElement -&gt; [HtmlAttr]
</span><a href="Text.XHtml.Internals.html#markupAttrs"><span class="hs-identifier hs-var">markupAttrs</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679036726"><span class="annot"><span class="annottext">[HtmlAttr]
</span><a href="#local-6989586621679036726"><span class="hs-identifier hs-var">attrs</span></a></span></span><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
</span><span id="line-292"></span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Html -&gt; Bool
</span><a href="Text.XHtml.Internals.html#isNoHtml"><span class="hs-identifier hs-var">isNoHtml</span></a></span><span> </span><span class="annot"><span class="annottext">Html
</span><a href="#local-6989586621679036727"><span class="hs-identifier hs-var">html</span></a></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><span class="hs-operator hs-var">&amp;&amp;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; [String] -&gt; Bool
forall (t :: * -&gt; *) a. (Foldable t, Eq a) =&gt; a -&gt; t a -&gt; Bool
</span><a href="../../base/src/Data.Foldable.html#elem"><span class="hs-identifier hs-var">elem</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036728"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="Text.XHtml.Internals.html#validHtmlITags"><span class="hs-identifier hs-var">validHtmlITags</span></a></span><span>
</span><span id="line-293"></span><span>        </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; String -&gt; [HtmlAttr] -&gt; String -&gt; ShowS
</span><a href="Text.XHtml.Internals.html#renderTag"><span class="hs-identifier hs-var">renderTag</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036728"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">[HtmlAttr]
</span><a href="#local-6989586621679036726"><span class="hs-identifier hs-var">attrs</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int -&gt; String
</span><a href="#local-6989586621679036725"><span class="hs-identifier hs-var">nl</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679036729"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-294"></span><span>        </span><span class="hs-keyword">else</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; String -&gt; [HtmlAttr] -&gt; String -&gt; ShowS
</span><a href="Text.XHtml.Internals.html#renderTag"><span class="hs-identifier hs-var">renderTag</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036728"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">[HtmlAttr]
</span><a href="#local-6989586621679036726"><span class="hs-identifier hs-var">attrs</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int -&gt; String
</span><a href="#local-6989586621679036725"><span class="hs-identifier hs-var">nl</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679036729"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-295"></span><span>             </span><span class="annot"><span class="annottext">ShowS -&gt; ShowS -&gt; ShowS
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">(ShowS -&gt; ShowS -&gt; ShowS) -&gt; ShowS -&gt; [ShowS] -&gt; ShowS
forall (t :: * -&gt; *) a b.
Foldable t =&gt;
(a -&gt; b -&gt; b) -&gt; b -&gt; t a -&gt; b
</span><a href="../../base/src/Data.Foldable.html#foldr"><span class="hs-identifier hs-var">foldr</span></a></span><span> </span><span class="annot"><span class="annottext">ShowS -&gt; ShowS -&gt; ShowS
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">(.)</span></a></span><span> </span><span class="annot"><span class="annottext">ShowS
forall a. a -&gt; a
</span><a href="../../base/src/GHC.Base.html#id"><span class="hs-identifier hs-var">id</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(HtmlElement -&gt; ShowS) -&gt; [HtmlElement] -&gt; [ShowS]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int -&gt; HtmlElement -&gt; ShowS
</span><a href="Text.XHtml.Internals.html#renderHtml%27"><span class="hs-identifier hs-var">renderHtml'</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679036729"><span class="hs-identifier hs-var">n</span></a></span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">2</span></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Html -&gt; [HtmlElement]
</span><a href="Text.XHtml.Internals.html#getHtmlElements"><span class="hs-identifier hs-var hs-var">getHtmlElements</span></a></span><span> </span><span class="annot"><span class="annottext">Html
</span><a href="#local-6989586621679036727"><span class="hs-identifier hs-var">html</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-296"></span><span>             </span><span class="annot"><span class="annottext">ShowS -&gt; ShowS -&gt; ShowS
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; ShowS
</span><a href="Text.XHtml.Internals.html#renderEndTag"><span class="hs-identifier hs-var">renderEndTag</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036728"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int -&gt; String
</span><a href="#local-6989586621679036725"><span class="hs-identifier hs-var">nl</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679036729"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-297"></span><span>    </span><span class="hs-keyword">where</span><span>
</span><span id="line-298"></span><span>      </span><span id="local-6989586621679036725"><span class="annot"><span class="annottext">nl :: Int -&gt; String
</span><a href="#local-6989586621679036725"><span class="hs-identifier hs-var hs-var">nl</span></a></span></span><span> </span><span id="local-6989586621679036718"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679036718"><span class="hs-identifier hs-var">n'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Char -&gt; String
forall a. Int -&gt; a -&gt; [a]
</span><a href="../../base/src/GHC.List.html#replicate"><span class="hs-identifier hs-var">replicate</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679036718"><span class="hs-identifier hs-var">n'</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Integral a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Real.html#div"><span class="hs-operator hs-var">`div`</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span>
</span><span id="line-299"></span><span>              </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Char -&gt; String
forall a. Int -&gt; a -&gt; [a]
</span><a href="../../base/src/GHC.List.html#replicate"><span class="hs-identifier hs-var">replicate</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679036718"><span class="hs-identifier hs-var">n'</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Integral a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Real.html#mod"><span class="hs-operator hs-var">`mod`</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">' '</span></span><span>
</span><span id="line-300"></span><span>
</span><span id="line-301"></span><span>
</span><span id="line-302"></span><span class="annot"><a href="Text.XHtml.Internals.html#prettyHtml%27"><span class="hs-identifier hs-type">prettyHtml'</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#HtmlElement"><span class="hs-identifier hs-type">HtmlElement</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-303"></span><span id="prettyHtml%27"><span class="annot"><span class="annottext">prettyHtml' :: HtmlElement -&gt; [String]
</span><a href="Text.XHtml.Internals.html#prettyHtml%27"><span class="hs-identifier hs-var hs-var">prettyHtml'</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Text.XHtml.Internals.html#HtmlString"><span class="hs-identifier hs-type">HtmlString</span></a></span><span> </span><span id="local-6989586621679036714"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036714"><span class="hs-identifier hs-var">str</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036714"><span class="hs-identifier hs-var">str</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-304"></span><span class="annot"><a href="Text.XHtml.Internals.html#prettyHtml%27"><span class="hs-identifier hs-var">prettyHtml'</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Text.XHtml.Internals.html#HtmlTag"><span class="hs-identifier hs-type">HtmlTag</span></a></span><span>
</span><span id="line-305"></span><span>              </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">markupTag :: HtmlElement -&gt; String
</span><a href="Text.XHtml.Internals.html#markupTag"><span class="hs-identifier hs-var">markupTag</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679036713"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036713"><span class="hs-identifier hs-var">name</span></a></span></span><span class="hs-special">,</span><span>
</span><span id="line-306"></span><span>                </span><span class="annot"><span class="annottext">markupContent :: HtmlElement -&gt; Html
</span><a href="Text.XHtml.Internals.html#markupContent"><span class="hs-identifier hs-var">markupContent</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679036712"><span class="annot"><span class="annottext">Html
</span><a href="#local-6989586621679036712"><span class="hs-identifier hs-var">html</span></a></span></span><span class="hs-special">,</span><span>
</span><span id="line-307"></span><span>                </span><span class="annot"><span class="annottext">markupAttrs :: HtmlElement -&gt; [HtmlAttr]
</span><a href="Text.XHtml.Internals.html#markupAttrs"><span class="hs-identifier hs-var">markupAttrs</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679036711"><span class="annot"><span class="annottext">[HtmlAttr]
</span><a href="#local-6989586621679036711"><span class="hs-identifier hs-var">attrs</span></a></span></span><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
</span><span id="line-308"></span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Html -&gt; Bool
</span><a href="Text.XHtml.Internals.html#isNoHtml"><span class="hs-identifier hs-var">isNoHtml</span></a></span><span> </span><span class="annot"><span class="annottext">Html
</span><a href="#local-6989586621679036712"><span class="hs-identifier hs-var">html</span></a></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><span class="hs-operator hs-var">&amp;&amp;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; [String] -&gt; Bool
forall (t :: * -&gt; *) a. (Foldable t, Eq a) =&gt; a -&gt; t a -&gt; Bool
</span><a href="../../base/src/Data.Foldable.html#elem"><span class="hs-identifier hs-var">elem</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036713"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="Text.XHtml.Internals.html#validHtmlITags"><span class="hs-identifier hs-var">validHtmlITags</span></a></span><span>
</span><span id="line-309"></span><span>        </span><span class="hs-keyword">then</span><span>
</span><span id="line-310"></span><span>         </span><span class="hs-special">[</span><span class="annot"><span class="annottext">ShowS
</span><a href="#local-6989586621679036710"><span class="hs-identifier hs-var">rmNL</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; String -&gt; [HtmlAttr] -&gt; String -&gt; ShowS
</span><a href="Text.XHtml.Internals.html#renderTag"><span class="hs-identifier hs-var">renderTag</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036713"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">[HtmlAttr]
</span><a href="#local-6989586621679036711"><span class="hs-identifier hs-var">attrs</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&quot;</span></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&quot;</span></span><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><span id="line-311"></span><span>        </span><span class="hs-keyword">else</span><span>
</span><span id="line-312"></span><span>         </span><span class="hs-special">[</span><span class="annot"><span class="annottext">ShowS
</span><a href="#local-6989586621679036710"><span class="hs-identifier hs-var">rmNL</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; String -&gt; [HtmlAttr] -&gt; String -&gt; ShowS
</span><a href="Text.XHtml.Internals.html#renderTag"><span class="hs-identifier hs-var">renderTag</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036713"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">[HtmlAttr]
</span><a href="#local-6989586621679036711"><span class="hs-identifier hs-var">attrs</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&quot;</span></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&quot;</span></span><span class="hs-special">)</span><span class="hs-special">]</span><span> </span><span class="annot"><span class="annottext">[String] -&gt; [String] -&gt; [String]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-313"></span><span>          </span><span class="annot"><span class="annottext">[String] -&gt; [String]
</span><a href="#local-6989586621679036709"><span class="hs-identifier hs-var">shift</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[[String]] -&gt; [String]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(HtmlElement -&gt; [String]) -&gt; [HtmlElement] -&gt; [[String]]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">HtmlElement -&gt; [String]
</span><a href="Text.XHtml.Internals.html#prettyHtml%27"><span class="hs-identifier hs-var">prettyHtml'</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Html -&gt; [HtmlElement]
</span><a href="Text.XHtml.Internals.html#getHtmlElements"><span class="hs-identifier hs-var hs-var">getHtmlElements</span></a></span><span> </span><span class="annot"><span class="annottext">Html
</span><a href="#local-6989586621679036712"><span class="hs-identifier hs-var">html</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">[String] -&gt; [String] -&gt; [String]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-314"></span><span>         </span><span class="hs-special">[</span><span class="annot"><span class="annottext">ShowS
</span><a href="#local-6989586621679036710"><span class="hs-identifier hs-var">rmNL</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; String -&gt; ShowS
</span><a href="Text.XHtml.Internals.html#renderEndTag"><span class="hs-identifier hs-var">renderEndTag</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036713"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&quot;</span></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&quot;</span></span><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><span id="line-315"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-316"></span><span>      </span><span id="local-6989586621679036709"><span class="annot"><span class="annottext">shift :: [String] -&gt; [String]
</span><a href="#local-6989586621679036709"><span class="hs-identifier hs-var hs-var">shift</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ShowS -&gt; [String] -&gt; [String]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span id="local-6989586621679036708"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036708"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;   &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036708"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-317"></span><span>      </span><span id="local-6989586621679036710"><span class="annot"><span class="annottext">rmNL :: ShowS
</span><a href="#local-6989586621679036710"><span class="hs-identifier hs-var hs-var">rmNL</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Char -&gt; Bool) -&gt; ShowS
forall a. (a -&gt; Bool) -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.List.html#filter"><span class="hs-identifier hs-var">filter</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char -&gt; Char -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">/=</span></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\n'</span></span><span class="hs-special">)</span><span>
</span><span id="line-318"></span><span>
</span><span id="line-319"></span><span>
</span><span id="line-320"></span><span class="hs-comment">-- | Show a start tag</span><span>
</span><span id="line-321"></span><span class="annot"><a href="Text.XHtml.Internals.html#renderTag"><span class="hs-identifier hs-type">renderTag</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>       </span><span class="hs-comment">-- ^ 'True' if the empty tag shorthand should be used</span><span>
</span><span id="line-322"></span><span>          </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>     </span><span class="hs-comment">-- ^ Tag name</span><span>
</span><span id="line-323"></span><span>          </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Text.XHtml.Internals.html#HtmlAttr"><span class="hs-identifier hs-type">HtmlAttr</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-comment">-- ^ Attributes</span><span>
</span><span id="line-324"></span><span>          </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>     </span><span class="hs-comment">-- ^ Whitespace to add after attributes</span><span>
</span><span id="line-325"></span><span>          </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Show.html#ShowS"><span class="hs-identifier hs-type">ShowS</span></a></span><span>
</span><span id="line-326"></span><span id="renderTag"><span class="annot"><span class="annottext">renderTag :: Bool -&gt; String -&gt; [HtmlAttr] -&gt; String -&gt; ShowS
</span><a href="Text.XHtml.Internals.html#renderTag"><span class="hs-identifier hs-var hs-var">renderTag</span></a></span></span><span> </span><span id="local-6989586621679036705"><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679036705"><span class="hs-identifier hs-var">empty</span></a></span></span><span> </span><span id="local-6989586621679036704"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036704"><span class="hs-identifier hs-var">name</span></a></span></span><span> </span><span id="local-6989586621679036703"><span class="annot"><span class="annottext">[HtmlAttr]
</span><a href="#local-6989586621679036703"><span class="hs-identifier hs-var">attrs</span></a></span></span><span> </span><span id="local-6989586621679036702"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036702"><span class="hs-identifier hs-var">nl</span></a></span></span><span> </span><span id="local-6989586621679036701"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036701"><span class="hs-identifier hs-var">r</span></a></span></span><span>
</span><span id="line-327"></span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&lt;&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036704"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036700"><span class="hs-identifier hs-var">shownAttrs</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036702"><span class="hs-identifier hs-var">nl</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036699"><span class="hs-identifier hs-var">close</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036701"><span class="hs-identifier hs-var">r</span></a></span><span>
</span><span id="line-328"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-329"></span><span>      </span><span id="local-6989586621679036699"><span class="annot"><span class="annottext">close :: String
</span><a href="#local-6989586621679036699"><span class="hs-identifier hs-var hs-var">close</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679036705"><span class="hs-identifier hs-var">empty</span></a></span><span> </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot; /&gt;&quot;</span></span><span> </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&gt;&quot;</span></span><span>
</span><span id="line-330"></span><span>
</span><span id="line-331"></span><span>      </span><span id="local-6989586621679036700"><span class="annot"><span class="annottext">shownAttrs :: String
</span><a href="#local-6989586621679036700"><span class="hs-identifier hs-var hs-var">shownAttrs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[String] -&gt; String
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">' '</span></span><span class="annot"><span class="annottext">Char -&gt; ShowS
forall a. a -&gt; [a] -&gt; [a]
</span><span class="hs-glyph hs-var">:</span></span><span class="annot"><span class="annottext">HtmlAttr -&gt; String
</span><a href="#local-6989586621679036697"><span class="hs-identifier hs-var">showPair</span></a></span><span> </span><span class="annot"><span class="annottext">HtmlAttr
</span><a href="#local-6989586621679036696"><span class="hs-identifier hs-var">attr</span></a></span><span> </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679036696"><span class="annot"><span class="annottext">HtmlAttr
</span><a href="#local-6989586621679036696"><span class="hs-identifier hs-var">attr</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">[HtmlAttr]
</span><a href="#local-6989586621679036703"><span class="hs-identifier hs-var">attrs</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-332"></span><span>
</span><span id="line-333"></span><span>      </span><span class="annot"><a href="#local-6989586621679036697"><span class="hs-identifier hs-type">showPair</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#HtmlAttr"><span class="hs-identifier hs-type">HtmlAttr</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-334"></span><span>      </span><span id="local-6989586621679036697"><span class="annot"><span class="annottext">showPair :: HtmlAttr -&gt; String
</span><a href="#local-6989586621679036697"><span class="hs-identifier hs-var hs-var">showPair</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Text.XHtml.Internals.html#HtmlAttr"><span class="hs-identifier hs-type">HtmlAttr</span></a></span><span> </span><span id="local-6989586621679036695"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036695"><span class="hs-identifier hs-var">key</span></a></span></span><span> </span><span id="local-6989586621679036694"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036694"><span class="hs-identifier hs-var">val</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-335"></span><span>              </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036695"><span class="hs-identifier hs-var">key</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;=\&quot;&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036694"><span class="hs-identifier hs-var">val</span></a></span><span>  </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\&quot;&quot;</span></span><span>
</span><span id="line-336"></span><span>
</span><span id="line-337"></span><span class="hs-comment">-- | Show an end tag</span><span>
</span><span id="line-338"></span><span class="annot"><a href="Text.XHtml.Internals.html#renderEndTag"><span class="hs-identifier hs-type">renderEndTag</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-comment">-- ^ Tag name</span><span>
</span><span id="line-339"></span><span>             </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-comment">-- ^ Whitespace to add after tag name</span><span>
</span><span id="line-340"></span><span>             </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Show.html#ShowS"><span class="hs-identifier hs-type">ShowS</span></a></span><span>
</span><span id="line-341"></span><span id="renderEndTag"><span class="annot"><span class="annottext">renderEndTag :: String -&gt; String -&gt; ShowS
</span><a href="Text.XHtml.Internals.html#renderEndTag"><span class="hs-identifier hs-var hs-var">renderEndTag</span></a></span></span><span> </span><span id="local-6989586621679036693"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036693"><span class="hs-identifier hs-var">name</span></a></span></span><span> </span><span id="local-6989586621679036692"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036692"><span class="hs-identifier hs-var">nl</span></a></span></span><span> </span><span id="local-6989586621679036691"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036691"><span class="hs-identifier hs-var">r</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&lt;/&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036693"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036692"><span class="hs-identifier hs-var">nl</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&gt;&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679036691"><span class="hs-identifier hs-var">r</span></a></span><span>
</span><span id="line-342"></span><span>
</span><span id="line-343"></span><span>
</span><span id="line-344"></span><span class="hs-comment">-- | The names of all elements which can represented using the empty tag</span><span>
</span><span id="line-345"></span><span class="hs-comment">--   short-hand.</span><span>
</span><span id="line-346"></span><span class="annot"><a href="Text.XHtml.Internals.html#validHtmlITags"><span class="hs-identifier hs-type">validHtmlITags</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-347"></span><span id="validHtmlITags"><span class="annot"><span class="annottext">validHtmlITags :: [String]
</span><a href="Text.XHtml.Internals.html#validHtmlITags"><span class="hs-identifier hs-var hs-var">validHtmlITags</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-348"></span><span>                  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;area&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-349"></span><span>                  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;base&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-350"></span><span>                  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;basefont&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-351"></span><span>                  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;br&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-352"></span><span>                  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;col&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-353"></span><span>                  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;frame&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-354"></span><span>                  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;hr&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-355"></span><span>                  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;img&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-356"></span><span>                  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;input&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-357"></span><span>                  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;isindex&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-358"></span><span>                  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;link&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-359"></span><span>                  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;meta&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-360"></span><span>                  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;param&quot;</span></span><span>
</span><span id="line-361"></span><span>                 </span><span class="hs-special">]</span><span>
</span><span id="line-362"></span></pre></body></html>